page {
  background: #f5f5f5;
}

.sticky-menu {
  position: fixed;
  width: 100%;
  z-index: 9;
  top: 0;
  background: #fff;
  font-size: 28rpx;
  padding: 16rpx 0;
  .item-box {
    width: 50%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    .item {
      color: #757575;
      &.active {
        color: #2dcb6f;
        position: relative;
        &:after {
          content: '';
          display: inline-block;
          width: 32rpx;
          height: 8rpx;
          position: absolute;
          bottom: -6rpx;
          border-radius: 4rpx;
          left: 50%;
          margin-left: -16rpx;
          background: #2dcb6f;
        }
      }
    }
  }
}

.jump-list {
  height: 100%;
  &.mt {
    margin-top: 50rpx;
  }
  .lock {
    height: 100vh !important;
    overflow: hidden;
  }
}

.course-info {
  background: #fff;
  position: relative;
  padding: 0 40rpx 40rpx 40rpx;
  font-size: 36rpx;
  font-family: PingFangSC-Semibold;
  font-weight: 600;
  margin-bottom: 20rpx;

  .course-tag {
    display: inline-block;
    height: 48rpx;
    line-height: 48rpx;
    padding: 0 20rpx;
    border-radius: 24rpx;
    font-size: 28rpx;
    position: relative;
    font-size: 28rpx;
    color: #14cc76;
    margin-bottom: 20rpx;
    &::after {
      border-radius: 24rpx;
      content: ' ';
      display: inline-block;
      width: 100%;
      height: 100%;
      background: rgba(20, 204, 118, 0.1);
      position: absolute;
      z-index: 1;
      left: 0;
      top: 0;
    }
  }

  .title {
    font-size: 48rpx;
    color: #4a4a4a;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .info {
    margin-top: 20rpx;
    font-size: 28rpx;
    justify-content: space-between;
    align-items: flex-end;
    .study-num {
      color: #9b9b9b;
      .limited {
        color: #ff1e32;
        margin-left: 20rpx;
      }
    }

    .price {
      color: #ff3b30;
      font-size: 40rpx;
    }
  }
}

.share {
  position: absolute;
  right: 20rpx;
  top: 25rpx;
  width: 56rpx;
  height: 56rpx;
  border-radius: 100%;
  overflow: hidden;
  z-index: 50;
  .share-btn-pic {
    width: 100%;
    height: 100%;
  }
}

.course-catalog {
  width: 100%;
  background: #fff;
  border-radius: 32rpx 32rpx 0 0;
  min-height: 260rpx;
  .catalog-box {
    padding: 40rpx;
    > .flex {
      justify-content: space-between;
      justify-items: center;
    }
    .catalog-expand {
      font-size: 28rpx;
      color: #14cc76;
      .icon-arrow-up {
        margin-left: -10rpx;
        display: inline-block;
        font-size: 20rpx;
        transform: scale(0.6);
        font-weight: bold;
      }
      .icon-arrow-down {
        margin-left: -10rpx;
        display: inline-block;
        font-size: 20rpx;
        transform: rotate(180deg) scale(0.6);
        font-weight: bold;
      }
    }
    .title {
      color: #212121;
      font-size: 36rpx;
      font-weight: bold;
      .txt {
        position: relative;
        &:after {
          position: absolute;
          bottom: -10rpx;
          left: 50%;
          margin-left: -16rpx;
          content: '';
          display: inline-block;
          width: 32rpx;
          height: 8rpx;
          background: #14cc76;
          border-radius: 4rpx;
        }
      }
    }
    .course-tree {
      margin-top: 30rpx;
      font-size: 28rpx;
      color: #757575;
      .icon-chapter {
        color: #9b9b9b;
        margin-right: 20rpx;
      }
      .check {
        display: inline-block;
        line-height: 80rpx;
        .icon-check {
          color: #14cc76;
          font-size: 20rpx;
        }
      }
      .cat-txt {
        margin: 20rpx 0;
        &.first {
          font-size: 32rpx;
          font-weight: bold;
          color: #4a4a4a;
          justify-content: space-between;
          .check {
            line-height: 30rpx;
          }
        }
      }
      .sub-cat {
        margin-left: 60rpx;
        > view {
          justify-content: space-between;
        }
      }
    }
  }
}

.charge-teacher {
  background: #fff;
  padding: 40rpx 40rpx 30rpx 40rpx;
  .title {
    font-size: 36rpx;
    font-weight: bold;
    color: #4a4a4a;
  }
  .teacher-box {
    margin-top: 40rpx;
    .teacher {
      margin-bottom: 40rpx;
      justify-content: space-between;
      .cover {
        width: 100rpx;
        height: 100rpx;
        border-radius: 100%;
      }
      .base-info {
        padding-top: 8rpx;
        width: 500rpx;
        margin-left: 20rpx;
        font-size: 28rpx;
        .name {
          color: #4a4a4a;
          font-weight: bold;

          .tag {
            margin-left: 20rpx;
            border-radius: 0 16rpx 0 16rpx;
            color: #fff;
            display: inline-block;
            font-size: 24rpx;
            font-weight: normal;
            padding: 0 20rpx;
            line-height: 40rpx;
            &.primary {
              color: #14cc76;
              background: rgba(20, 204, 118, 0.1);
            }
            &.junior {
              color: #ffba00;
              background: rgba(255, 186, 0, 0.1);
            }
            &.senior {
              color: #fe7141;
              background: rgba(254, 113, 65, 0.1);
            }
          }
        }
        .school-name {
          font-size: 28rpx;
          margin-top: 10rpx;
          color: #757575;
          font-weight: 400;
        }
      }
      .right-arrow {
        color: #9b9b9b;
        line-height: 100rpx;
      }
      &:last-child {
        margin-bottom: 0;
      }
    }
  }
}

.institution {
  background: #fff;
  padding: 40rpx 40rpx 20rpx 40rpx;
  color: #757575;
  .title {
    font-size: 36rpx;
    font-weight: bold;
    color: #4a4a4a;
  }
  .institution-box {
    margin-top: 40rpx;
    align-content: flex-start;
    .cover {
      width: 156rpx;
      height: 156rpx;
      border-radius: 100%;
    }
    .base-info {
      flex: 1;
      padding-top: 8rpx;
      margin-left: 30rpx;
      font-size: 24rpx;
      .name {
        color: #14cc76;
        font-weight: bold;
        font-size: 32rpx;
      }
      .count-info {
        margin-top: 8rpx;
        .course-cnt {
          font-size: 24rpx;
          color: #9b9b9b;
          .num {
            font-size: 36rpx;
            color: #000;
            font-weight: bold;
          }
          &:first-child {
            width: 170rpx;
            .num {
              padding-left: 20rpx;
            }
            position: relative;
            &:after {
              position: absolute;
              right: 0;
              top: 0;
              content: '';
              display: inline-block;
              width: 2rpx;
              height: 88rpx;
              background: #f1f1f1;
            }
          }
          &:last-child {
            flex: 1;
            text-align: center;
          }
        }
      }
    }
  }
  .intro {
    margin-top: 40rpx;
    font-size: 28rpx;
  }
  .contact-way {
    .title {
      color: #4a4a4a;
      font-size: 28rpx;
      font-weight: bold;
      margin-bottom: 3rpx;
    }
    margin-top: 40rpx;
    font-size: 24rpx;
  }
}

.request-all {
  &.is-ipx {
    margin-bottom: 180rpx;
  }
}

.relative-course {
  background: #fff;
  padding: 40rpx;

  .title-box {
    display: flex;
    justify-content: space-between;
    padding-right: 40rpx;
    .title {
      font-size: 36rpx;
      font-weight: bold;
      color: #4a4a4a;
    }
    .more-info {
      color: #757575;
      font-size: 24rpx;
      line-height: 50rpx;
    }
  }

  .course-box {
    margin-top: 40rpx;
    .course {
      box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.1);
      border-radius: 16rpx;
      padding: 60rpx 20rpx 40rpx 20rpx;
      margin-bottom: 40rpx;
      position: relative;
      border: 2rpx solid #f1f1f1;
      .cover {
        width: 200rpx;
        height: 150rpx;
        border-radius: 16rpx;
      }

      .tag {
        position: absolute;
        right: 0;
        top: 0;
        border-radius: 0 16rpx 0 16rpx;
        color: #fff;
        display: inline-block;
        font-size: 24rpx;
        font-weight: normal;
        padding: 0 20rpx;
        line-height: 40rpx;
        &.primary {
          color: #14cc76;
          background: rgba(20, 204, 118, 0.1);
        }
        &.junior {
          color: #ffba00;
          background: rgba(255, 186, 0, 0.1);
        }
        &.senior {
          color: #fe7141;
          background: rgba(254, 113, 65, 0.1);
        }
      }

      .base-info {
        font-size: 28rpx;
        .course-name {
          height: 106rpx;
          max-height: 80rpx;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          color: #4a4a4a;
          font-size: 32rpx;
          font-weight: bold;
        }
        .school-name {
          font-size: 28rpx;
          margin-top: 16rpx;
          color: #14cc76;
          font-weight: 400;
        }

        .other {
          margin-top: 40rpx;
          font-size: 24rpx;
          color: #757575;
          justify-content: space-between;

          .teachers {
            align-content: flex-start;
            .teacher {
              text-align: center;
              .avatar {
                width: 48rpx;
                height: 48rpx;
                border-radius: 100%;
              }
              .name {
                color: #9b9b9b;
                display: inline-block;
                width: 110rpx;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                font-size: 24rpx;
              }
            }
          }
          .price {
            color: #ff3b30;
            font-size: 40rpx;
            text-align: right;
          }
          .limited {
            color: #ff1e32;
            font-size: 24rpx;
            margin-right: 12rpx;
          }
          .joined-num {
            color: #9b9b9b;
            font-size: 24rpx;
          }
        }
      }
    }
  }
}

.join-course {
  font-size: 32rpx;
  height: 80rpx;
  line-height: 80rpx;
  width: 670rpx;
  margin: 20rpx auto;
  padding: 0;
  background: #14cc76;
  border-radius: 48rpx;
  color: #fff;
}

.action-menu {
  padding: 30rpx 40rpx 40rpx 60rpx;
  .short-line {
    margin: 0 auto 10rpx auto;
    width: 80rpx;
    height: 8rpx;
    background: #ccc;
    border-radius: 4rpx;
  }
  .pub-btn {
    margin: 20rpx 0;
    text-align: center;
    .type {
      color: #4a4a4a;
      font-size: 28rpx;
    }
  }
}
